#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pygame, os, sys
from pygame.locals import *
from funcoes import *
from mapas import *
from brickbybrick import * ##########modificacao01
#from leveis import *
pygame.init()


#### Audio ####
carrega_musica(menu, opcoes)
sobre_opcao = carrega_som("sobre_opcao.wav", opcoes)
escolhe_opcao = carrega_som("escolhe_opcao.wav", opcoes)

som1, som2, som3, som4, som5, som6 = False, False, False, False, False, False
som2_1, som2_2, som2_3, som2_4, som2_5, som2_6 = False, False, False, False, False, False


#### Configuracao da tela ####
tela, fundo = config_tela(opcoes, tela, menu)


#### Imagens das opcoes ####
iniciar_botao, iniciar_ativo, iniciar_tamanho, iniciar_posicao = imagens_menu("iniciar", (99, 305), 3)
ajuda_botao, ajuda_ativo, ajuda_tamanho, ajuda_posicao = imagens_menu("ajuda", (102, 345), 3)
records_botao, records_ativo, records_tamanho, records_posicao = imagens_menu("records", (106, 385), 3)
opcoes_botao, opcoes_ativo, opcoes_tamanho, opcoes_posicao = imagens_menu("opcao", (107, 425), 3)
sair_botao, sair_ativo, sair_tamanho, sair_posicao = imagens_menu("sair", (105, 465), 3)
creditos_botao, creditos_ativo, creditos_tamanho, creditos_posicao = imagens_menu("credits", (739, 495), 2)


ativar_tela = None
clicou_outra = False
creditos_on = False
opcoes_pressionado = False

while True:
	evento_sair()
	
	mouse_posicao = pygame.mouse.get_pos()
	mouse_clique = pygame.mouse.get_pressed()
	

	#### Efeitos ####
    
    # Iniciar Jogo
	if iniciar_posicao[0] <= mouse_posicao[0] <= iniciar_posicao[0] + iniciar_tamanho[0]\
	   and iniciar_posicao[1] <= mouse_posicao[1] <= iniciar_posicao[1] + iniciar_tamanho[1]: 

		iniciar_ativo = iniciar_botao[1]
		som1 = ativa_som(sobre_opcao, som1)

		if mouse_clique[0]:
			iniciar_ativo = iniciar_botao[2]
			som2_1 = ativa_som(escolhe_opcao, som2_1)
			clicou_outra = True
		
			level1() #modificacao02 ################################################################
	#colocar a funcao que vai chamar o jogo		.main()
	else: 
		iniciar_ativo = iniciar_botao[0]
		som1 = False
		som2_1 = False
		

	# Ajuda
	if ajuda_posicao[0] <= mouse_posicao[0] <= ajuda_posicao[0] + ajuda_tamanho[0]\
	   and ajuda_posicao[1] <= mouse_posicao[1] <= ajuda_posicao[1] + ajuda_tamanho[1]:

		ajuda_ativo = ajuda_botao[1]
		som2 = ativa_som(sobre_opcao, som2)

		if mouse_clique[0]:
			ajuda_ativo = ajuda_botao[2]
			som2_2 = ativa_som(escolhe_opcao, som2_2)
			ativar_tela = "ajuda"
			tela_ajuda = True
			clicou_outra = False
			
	else:
		ajuda_ativo = ajuda_botao[0]
		som2 = False
		som2_2 = False
	
	
	# Records
	if records_posicao[0] <= mouse_posicao[0] <= records_posicao[0] + records_tamanho[0]\
	   and records_posicao[1] <= mouse_posicao[1] <= records_posicao[1] + records_tamanho[1]:

		records_ativo = records_botao[1]
		som3 = ativa_som(sobre_opcao, som3)

		if mouse_clique[0]:
			records_ativo = records_botao[2]
			som2_3 = ativa_som(escolhe_opcao, som2_3)
			ativar_tela = "records"
			tela_records = True
			clicou_outra = False

	else:
		records_ativo = records_botao[0]
		som3 = False
		som2_3 = False

    
    # Opcoes
	if opcoes_posicao[0] <= mouse_posicao[0] <= opcoes_posicao[0] + opcoes_tamanho[0]\
	   and opcoes_posicao[1] <= mouse_posicao[1] <= opcoes_posicao[1] + opcoes_tamanho[1]:

		opcoes_ativo = opcoes_botao[1]
		som4 = ativa_som(sobre_opcao, som4)

		if mouse_clique[0]:
			opcoes_ativo = opcoes_botao[2]
			som2_4 = ativa_som(escolhe_opcao, som2_4)
			ativar_tela = "opcoes"
			tela_opcoes = True
			clicou_outra = False

	else:
		opcoes_ativo = opcoes_botao[0]
		som4 = False
		som2_4 = False


    # Sair
	if sair_posicao[0] <= mouse_posicao[0] <= sair_posicao[0] + sair_tamanho[0]\
	   and sair_posicao[1] <= mouse_posicao[1] <= sair_posicao[1] + sair_tamanho[1]:

		sair_ativo = sair_botao[1]
		som5 = ativa_som(sobre_opcao, som5)

		if mouse_clique[0]:
			sair_ativo = sair_botao[2]
			som2_5 = ativa_som(escolhe_opcao, som2_5)
			ativar_tela = "sair"
			tela_sair = True
			clicou_outra = False

	else:
		sair_ativo = sair_botao[0]
		som5 = False
		som2_5 = False


    # Creditos
	if creditos_posicao[0] <= mouse_posicao[0] <= creditos_posicao[0] + creditos_tamanho[0]\
	   and creditos_posicao[1] <= mouse_posicao[1] <= creditos_posicao[1] + creditos_tamanho[1]:

		creditos_ativo = creditos_botao[1]
		som6 = ativa_som(sobre_opcao, som6)

		if mouse_clique[0]:
			som2_6 = ativa_som(escolhe_opcao, som2_6)
			ativar_tela = "creditos"
			tela_creditos = True
			clicou_outra = False

	else:
		creditos_ativo = creditos_botao[0]
		som6 = False
		som2_6 = False
	
			
	#### [IFs] Tratando o 2 menu - Aparecer/Desaparecer####

	tela.blit(fundo, (0,0))
	tela.blit(iniciar_ativo, iniciar_posicao)
	

	tela.blit(ajuda_ativo, ajuda_posicao)
	if ativar_tela == "ajuda":
		if tela_ajuda and clicou_outra == False:
			tela2_menu("fundo_ajuda.png", tela)
			clicou_outra = False
		

	tela.blit(records_ativo, records_posicao)
	if ativar_tela == "records":
		if tela_records and clicou_outra == False:
			tela2_menu("fundo_records.png", tela)
			menu_records(records, tela)

		
	tela.blit(opcoes_ativo, opcoes_posicao)
		
	if ativar_tela == "opcoes":
		if tela_opcoes and clicou_outra == False:
			tela2_menu("fundo_opcoes.png", tela)
			blit_texto = (None, 30, 'Tela cheia', (0,0,0), (360,400), tela) ########modificado3
			blit_texto = (None, 30, 'Volume da música', (0,0,0), (360,450), tela)
			blit_texto = (None, 20, 'Pressione + ou - para alterar', (0,0,0), (360,470), tela)
			
			box_botao, box_ativo, box_tamanho, box_posicao = imagens_menu("box", (490,403), 3)
			
			if box_posicao[0] <= mouse_posicao[0] <= box_posicao[0] + box_tamanho[0]\
			   and box_posicao[1] <= mouse_posicao[1] <= box_posicao[1] + box_tamanho[1]: 
						
					if mouse_clique[0]:
						opcoes_pressionado = True
			
			if opcoes['tela'] == pygame.FULLSCREEN:
				box_ativo = box_botao[2]
				if opcoes_pressionado:
					box_ativo = box_botao[0]
					opcoes['tela'] = 0
					tela = pygame.display.set_mode((800,600), opcoes['tela'])
					opcoes_pressionado = False
					
			elif opcoes['tela'] == 0:
				box_ativo = box_botao[0]
				if opcoes_pressionado:
					box_ativo = box_botao[2]
					opcoes['tela'] = pygame.FULLSCREEN
					tela = pygame.display.set_mode((800,600), opcoes['tela'])
					opcoes_pressionado = False
					
			tela.blit(box_ativo, box_posicao)
			
			
			vol_botao, vol_ativo, vol_tamanho, vol_posicao = imagens_menu("volume", (450,503), 5)
			vol_ativo = atualiza_volume(vol_botao)
			
			
			for event in pygame.event.get():
				if event.type == pygame.QUIT: exit()
				if event.type == pygame.KEYDOWN:
						if event.key == pygame.K_MINUS or event.key == pygame.K_KP_MINUS:
							if 0.2 <= opcoes['volume'] <= 0.9:
								print opcoes['volume']
								opcoes['volume'] -= 0.1
								vol_ativo = atualiza_volume(vol_botao)
								pygame.mixer.music.set_volume(opcoes['volume'])
								print opcoes['volume']
						if event.key == pygame.K_PLUS or event.key == pygame.K_KP_PLUS:
							if 0.1 <= opcoes['volume'] < 0.8:
								print opcoes['volume']
								opcoes['volume'] += 0.1
								vol_ativo = atualiza_volume(vol_botao)
								pygame.mixer.music.set_volume(opcoes['volume'])
								
		tela.blit(vol_ativo, vol_posicao)
			
							
	tela.blit(sair_ativo, sair_posicao)
	if ativar_tela == "sair":
		if tela_sair and clicou_outra == False:
			sys.exit()
						

	tela.blit(creditos_ativo, creditos_posicao)
	if ativar_tela == "creditos":
		if tela_creditos and clicou_outra == False:
			clicou_outra = False
			if creditos_on == False:
				tela.blit(carrega_image("creditos.jpg"), (0,0))
				for event in pygame.event.get():
					if event.type == pygame.QUIT:
						sys.exit()
					if event.type == pygame.KEYDOWN:
						if event.key == pygame.K_KP_ENTER:
							creditos_on = True
							ativar_tela = None
						else: creditos_on = False
	if ativar_tela != "creditos":
		creditos_on = False
				
	
	cursor_mouse("redcursor.png", tela)
	
	pygame.display.flip()
